package utils;

import java.util.Random;

/**
 * @author gjw19
 * @date 2019/5/1
 */
public class EnumUtil {

    /**
     * 随机枚举方法
     *
     * @param clazz
     * @param <T>
     * @return
     */
    public static <T extends Enum<?>> T randomEnum(Class<T> clazz) {
        Random random = new Random();
        int x = random.nextInt(clazz.getEnumConstants().length);
        return clazz.getEnumConstants()[x];
    }

    public static <T extends Enum<?>> T randomEnumExclude(Class<T> clazz, Enum e) {
        Random random = new Random();
        int x = random.nextInt(clazz.getEnumConstants().length);
        if (clazz.getEnumConstants()[x].name() == e.name()) {
            randomEnumExclude(clazz, e);
        }
        return clazz.getEnumConstants()[x];
    }
}
